import java.util.Scanner;

public class TestPet {
	public static void FuncFinal() {
		/**
		 * final可以修饰的类，局部变量，方法
		 * 修饰过后类不能被继承，局部变量无法进行修改，方法无法被重写。
		 */
	}
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		int num1= scanner.nextInt();
		System.out.println("请输入你的选择：");
		String str=num1==1?"猫":num1==2?"狗":"";
		Pet pet= buyPet(str);
		if(pet instanceof Dog) {
			//看真实类型是什么
			Dog dog=(Dog) pet;
			dog.eat();
		} else if(pet instanceof Cat) {
			Cat cat=(Cat) pet;
			cat.eat();
		} else {
			System.out.println("11111111111111");
		}
		Pet pet1=new Dog("小黄");
		//当子类中没有重写这个方法的时候，就会执行父类中的方法。
		pet1.testFather();
	}
	public static Pet buyPet(String str) {
		if(str.equals("猫")) {
			return new Cat("小黄");
		} else if(str.equals("狗")) {
			return new Dog("小黑");
		} else
		{
			return null;
		}
	}
}
